﻿//----------------------------------------------------------------------------
// Copyright (c) 2002-2013 Microsoft Corporation
//
// This source code is subject to terms and conditions of the Apache License, Version 2.0. A 
// copy of the license can be found in the License.html file at the root of this distribution. 
// By using this source code in any fashion, you are agreeing to be bound 
// by the terms of the Apache License, Version 2.0.
//
// You must not remove this notice, or any other, from this software.
//----------------------------------------------------------------------------

namespace MSDN.FSharp.Charting
    
open System
open System.Collections.Generic
open System.Windows.Forms
open System.Windows.Forms.DataVisualization.Charting

open MSDN.FSharp.Charting.ChartStyles
open MSDN.FSharp.Charting.ChartTypes
open MSDN.FSharp.Charting.ChartData
open MSDN.FSharp.Charting.ChartData.Internal


// --------------------------------------------------------------------------------------
// [AUTOGENERATED] Class with methods for creating charts

type FSharpChart =

    /// Displays multiple seriesÿof data as stacked areas. The cumulative proportion
    /// of each stacked element is always 100% of the Y axis.
    static member StackedArea100<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StackedArea100Chart>(oneY data)
    /// Displays multiple seriesÿof data as stacked areas. The cumulative proportion
    /// of each stacked element is always 100% of the Y axis.
    static member StackedArea100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StackedArea100Chart>(oneXYSeq data)
    /// Displays multiple seriesÿof data as stacked areas. The cumulative proportion
    /// of each stacked element is always 100% of the Y axis.
    static member StackedArea100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StackedArea100Chart>(oneXY xvalues yvalues)
    /// Displays multiple seriesÿof data as stacked areas. The cumulative proportion
    /// of each stacked element is always 100% of the Y axis.
    static member StackedArea100<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedArea100Chart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays multiple seriesÿof data as stacked areas. The cumulative proportion
    /// of each stacked element is always 100% of the Y axis.
    static member StackedArea100<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedArea100Chart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays multiple series of data as stacked bars. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedBar100<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StackedBar100Chart>(oneY data)
    /// Displays multiple series of data as stacked bars. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedBar100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StackedBar100Chart>(oneXYSeq data)
    /// Displays multiple series of data as stacked bars. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedBar100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StackedBar100Chart>(oneXY xvalues yvalues)
    /// Displays multiple series of data as stacked bars. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedBar100<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedBar100Chart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays multiple series of data as stacked bars. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedBar100<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedBar100Chart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays multiple series of data as stacked columns. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedColumn100<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StackedColumn100Chart>(oneY data)
    /// Displays multiple series of data as stacked columns. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedColumn100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StackedColumn100Chart>(oneXYSeq data)
    /// Displays multiple series of data as stacked columns. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedColumn100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StackedColumn100Chart>(oneXY xvalues yvalues)
    /// Displays multiple series of data as stacked columns. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedColumn100<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedColumn100Chart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays multiple series of data as stacked columns. The cumulative
    /// proportion of each stacked element is always 100% of the Y axis.
    static member StackedColumn100<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedColumn100Chart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Emphasizes the degree of change over time and shows the
    /// relationship of the parts to a whole.
    static member Area<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<AreaChart>(oneY data)
    /// Emphasizes the degree of change over time and shows the
    /// relationship of the parts to a whole.
    static member Area<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<AreaChart>(oneXYSeq data)
    /// Emphasizes the degree of change over time and shows the
    /// relationship of the parts to a whole.
    static member Area<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<AreaChart>(oneXY xvalues yvalues)
    /// Emphasizes the degree of change over time and shows the
    /// relationship of the parts to a whole.
    static member Area<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<AreaChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Emphasizes the degree of change over time and shows the
    /// relationship of the parts to a whole.
    static member Area<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<AreaChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Illustrates comparisons among individual items.
    static member Bar<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<BarChart>(oneY data)
    /// Illustrates comparisons among individual items.
    static member Bar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<BarChart>(oneXYSeq data)
    /// Illustrates comparisons among individual items.
    static member Bar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<BarChart>(oneXY xvalues yvalues)
    /// Illustrates comparisons among individual items.
    static member Bar<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<BarChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Illustrates comparisons among individual items.
    static member Bar<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<BarChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Consists of one or more box symbols that summarize the
    /// distribution of the data withinÿone or moreÿdata sets.
    static member BoxPlot(data:seq<'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6>) = 
        GenericChart<_>.Create<BoxPlotChart>(sixY data)
    /// Consists of one or more box symbols that summarize the
    /// distribution of the data withinÿone or moreÿdata sets.
    static member BoxPlot(data:seq<'TX * 'TYValue[]>) = 
        GenericChart<_>.Create<BoxPlotChart>(sixXYArrBox data)
    /// Consists of one or more box symbols that summarize the
    /// distribution of the data withinÿone or moreÿdata sets.
    static member BoxPlot(data:seq<'TYValue[]>) =
        GenericChart<_>.Create<BoxPlotChart>(sixYArrBox data)

    /// A variation of the Point chart type, where the data
    /// points are replaced by bubbles of different sizes.
    static member Bubble<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data: seq<'TY1 * 'TY2>) = 
        GenericChart<_>.Create<BubbleChart>(twoY data)
    /// A variation of the Point chart type, where the data
    /// points are replaced by bubbles of different sizes.
    static member Bubble<'TX, 'TY1, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2)>) = 
        GenericChart<_>.Create<BubbleChart>(twoXYSeq data)
    /// A variation of the Point chart type, where the data
    /// points are replaced by bubbles of different sizes.
    static member Bubble<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values) = 
        GenericChart<_>.Create<BubbleChart>(twoXY xvalues yvalues1 yvalues2)
    /// A variation of the Point chart type, where the data
    /// points are replaced by bubbles of different sizes.
    static member Bubble<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:IObservable<'TY1 * 'TY2>, ?MaxPoints) = 
        GenericChart<_>.Create<BubbleChart>(twoYObs (defaultArg MaxPoints -1) data)
    /// A variation of the Point chart type, where the data
    /// points are replaced by bubbles of different sizes.
    static member Bubble<'TX, 'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2)>, ?MaxPoints) = 
        GenericChart<_>.Create<BubbleChart>(twoXYObs (defaultArg MaxPoints -1) data)

    /// Used to display stock information using high, low, open and
    /// close values.
    static member Candlestick<'TY1, 'TY2, 'TY3, 'TY4 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible>(data: seq<'TY1 * 'TY2 * 'TY3 * 'TY4>) = 
        GenericChart<_>.Create<CandlestickChart>(fourY data)
    /// Used to display stock information using high, low, open and
    /// close values.
    static member Candlestick<'TX, 'TY1, 'TY2, 'TY3, 'TY4 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2 * 'TY3 * 'TY4)>) = 
        GenericChart<_>.Create<CandlestickChart>(fourXYSeq data)
    /// Used to display stock information using high, low, open and
    /// close values.
    static member Candlestick<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2, 'TY3Values, 'TY3, 'TY4Values, 'TY4 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2> and 'TY3 :> IConvertible and 'TY3Values :> seq<'TY3> and 'TY4 :> IConvertible and 'TY4Values :> seq<'TY4>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values, yvalues3:'TY3Values, yvalues4:'TY4Values) = 
        GenericChart<_>.Create<CandlestickChart>(fourXY xvalues yvalues1 yvalues2 yvalues3 yvalues4)
    /// Used to display stock information using high, low, open and
    /// close values.
    static member Candlestick<'TY1, 'TY2, 'TY3, 'TY4 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible>(data:IObservable<'TY1 * 'TY2 * 'TY3 * 'TY4>, ?MaxPoints) = 
        GenericChart<_>.Create<CandlestickChart>(fourYObs (defaultArg MaxPoints -1) data)
    /// Used to display stock information using high, low, open and
    /// close values.
    static member Candlestick<'TX, 'TY1, 'TY2, 'TY3, 'TY4 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2 * 'TY3 * 'TY4)>, ?MaxPoints) = 
        GenericChart<_>.Create<CandlestickChart>(fourXYObs (defaultArg MaxPoints -1) data)

    /// Uses a sequence of columns to compare values across categories.
    static member Column<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<ColumnChart>(oneY data)
    /// Uses a sequence of columns to compare values across categories.
    static member Column<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<ColumnChart>(oneXYSeq data)
    /// Uses a sequence of columns to compare values across categories.
    static member Column<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<ColumnChart>(oneXY xvalues yvalues)
    /// Uses a sequence of columns to compare values across categories.
    static member Column<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<ColumnChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Uses a sequence of columns to compare values across categories.
    static member Column<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<ColumnChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Similar to the Pie chart type, except that it has
    /// a hole in the center.
    static member Doughnut<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<DoughnutChart>(oneY data)
    /// Similar to the Pie chart type, except that it has
    /// a hole in the center.
    static member Doughnut<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<DoughnutChart>(oneXYSeq data)
    /// Similar to the Pie chart type, except that it has
    /// a hole in the center.
    static member Doughnut<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<DoughnutChart>(oneXY xvalues yvalues)
    /// Similar to the Pie chart type, except that it has
    /// a hole in the center.
    static member Doughnut<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<DoughnutChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Similar to the Pie chart type, except that it has
    /// a hole in the center.
    static member Doughnut<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<DoughnutChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Consists of lines with markers that are used to display
    /// statistical information about the data displayed inÿa graph.
    static member ErrorBar<'TY1, 'TY2, 'TY3 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible>(data: seq<'TY1 * 'TY2 * 'TY3>) = 
        GenericChart<_>.Create<ErrorBarChart>(threeY data)
    /// Consists of lines with markers that are used to display
    /// statistical information about the data displayed inÿa graph.
    static member ErrorBar<'TX, 'TY1, 'TY2, 'TY3 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2 * 'TY3)>) = 
        GenericChart<_>.Create<ErrorBarChart>(threeXYSeq data)
    /// Consists of lines with markers that are used to display
    /// statistical information about the data displayed inÿa graph.
    static member ErrorBar<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2, 'TY3Values, 'TY3 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2> and 'TY3 :> IConvertible and 'TY3Values :> seq<'TY3>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values, yvalues3:'TY3Values) = 
        GenericChart<_>.Create<ErrorBarChart>(threeXY xvalues yvalues1 yvalues2 yvalues3)
    /// Consists of lines with markers that are used to display
    /// statistical information about the data displayed inÿa graph.
    static member ErrorBar<'TY1, 'TY2, 'TY3 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible>(data:IObservable<'TY1 * 'TY2 * 'TY3>, ?MaxPoints) = 
        GenericChart<_>.Create<ErrorBarChart>(threeYObs (defaultArg MaxPoints -1) data)
    /// Consists of lines with markers that are used to display
    /// statistical information about the data displayed inÿa graph.
    static member ErrorBar<'TX, 'TY1, 'TY2, 'TY3 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2 * 'TY3)>, ?MaxPoints) = 
        GenericChart<_>.Create<ErrorBarChart>(threeXYObs (defaultArg MaxPoints -1) data)

    /// A variation of the Line chart that significantly reduces the
    /// drawing time of a series that contains a very large
    /// number of data points.
    static member FastLine<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<FastLineChart>(oneY data)
    /// A variation of the Line chart that significantly reduces the
    /// drawing time of a series that contains a very large
    /// number of data points.
    static member FastLine<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<FastLineChart>(oneXYSeq data)
    /// A variation of the Line chart that significantly reduces the
    /// drawing time of a series that contains a very large
    /// number of data points.
    static member FastLine<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<FastLineChart>(oneXY xvalues yvalues)
    /// A variation of the Line chart that significantly reduces the
    /// drawing time of a series that contains a very large
    /// number of data points.
    static member FastLine<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<FastLineChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// A variation of the Line chart that significantly reduces the
    /// drawing time of a series that contains a very large
    /// number of data points.
    static member FastLine<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<FastLineChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// A variation of the Point chart type that significantly reduces
    /// the drawing time of a series that contains a very
    /// large number of data points.
    static member FastPoint<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<FastPointChart>(oneY data)
    /// A variation of the Point chart type that significantly reduces
    /// the drawing time of a series that contains a very
    /// large number of data points.
    static member FastPoint<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<FastPointChart>(oneXYSeq data)
    /// A variation of the Point chart type that significantly reduces
    /// the drawing time of a series that contains a very
    /// large number of data points.
    static member FastPoint<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<FastPointChart>(oneXY xvalues yvalues)
    /// A variation of the Point chart type that significantly reduces
    /// the drawing time of a series that contains a very
    /// large number of data points.
    static member FastPoint<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<FastPointChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// A variation of the Point chart type that significantly reduces
    /// the drawing time of a series that contains a very
    /// large number of data points.
    static member FastPoint<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<FastPointChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays in a funnel shape data that equals 100% when
    /// totaled.
    static member Funnel<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<FunnelChart>(oneY data)
    /// Displays in a funnel shape data that equals 100% when
    /// totaled.
    static member Funnel<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<FunnelChart>(oneXYSeq data)
    /// Displays in a funnel shape data that equals 100% when
    /// totaled.
    static member Funnel<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<FunnelChart>(oneXY xvalues yvalues)
    /// Displays in a funnel shape data that equals 100% when
    /// totaled.
    static member Funnel<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<FunnelChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays in a funnel shape data that equals 100% when
    /// totaled.
    static member Funnel<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<FunnelChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Kagi<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<KagiChart>(oneY data)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Kagi<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<KagiChart>(oneXYSeq data)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Kagi<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<KagiChart>(oneXY xvalues yvalues)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Kagi<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<KagiChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Kagi<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<KagiChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Illustrates trends in data with the passing of time.
    static member Line<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<LineChart>(oneY data)
    /// Illustrates trends in data with the passing of time.
    static member Line<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<LineChart>(oneXYSeq data)
    /// Illustrates trends in data with the passing of time.
    static member Line<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<LineChart>(oneXY xvalues yvalues)
    /// Illustrates trends in data with the passing of time.
    static member Line<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<LineChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Illustrates trends in data with the passing of time.
    static member Line<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<LineChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Shows how proportions of data, shown as pie-shaped pieces,ÿcontribute to
    /// the data as aÿwhole.
    static member Pie<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<PieChart>(oneY data)
    /// Shows how proportions of data, shown as pie-shaped pieces,ÿcontribute to
    /// the data as aÿwhole.
    static member Pie<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<PieChart>(oneXYSeq data)
    /// Shows how proportions of data, shown as pie-shaped pieces,ÿcontribute to
    /// the data as aÿwhole.
    static member Pie<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<PieChart>(oneXY xvalues yvalues)
    /// Shows how proportions of data, shown as pie-shaped pieces,ÿcontribute to
    /// the data as aÿwhole.
    static member Pie<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<PieChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Shows how proportions of data, shown as pie-shaped pieces,ÿcontribute to
    /// the data as aÿwhole.
    static member Pie<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<PieChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Uses points to represent data points.
    static member Point<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<PointChart>(oneY data)
    /// Uses points to represent data points.
    static member Point<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<PointChart>(oneXYSeq data)
    /// Uses points to represent data points.
    static member Point<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<PointChart>(oneXY xvalues yvalues)
    /// Uses points to represent data points.
    static member Point<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<PointChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Uses points to represent data points.
    static member Point<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<PointChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Disregards the passage of time and only displays changes in
    /// prices.
    static member PointAndFigure<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data: seq<'TY1 * 'TY2>) = 
        GenericChart<_>.Create<PointAndFigureChart>(twoY data)
    /// Disregards the passage of time and only displays changes in
    /// prices.
    static member PointAndFigure<'TX, 'TY1, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2)>) = 
        GenericChart<_>.Create<PointAndFigureChart>(twoXYSeq data)
    /// Disregards the passage of time and only displays changes in
    /// prices.
    static member PointAndFigure<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values) = 
        GenericChart<_>.Create<PointAndFigureChart>(twoXY xvalues yvalues1 yvalues2)
    /// Disregards the passage of time and only displays changes in
    /// prices.
    static member PointAndFigure<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:IObservable<'TY1 * 'TY2>, ?MaxPoints) = 
        GenericChart<_>.Create<PointAndFigureChart>(twoYObs (defaultArg MaxPoints -1) data)
    /// Disregards the passage of time and only displays changes in
    /// prices.
    static member PointAndFigure<'TX, 'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2)>, ?MaxPoints) = 
        GenericChart<_>.Create<PointAndFigureChart>(twoXYObs (defaultArg MaxPoints -1) data)

    /// A circular graph on which data points are displayed using
    /// the angle, and the distance from the center point.
    static member Polar<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<PolarChart>(oneY data)
    /// A circular graph on which data points are displayed using
    /// the angle, and the distance from the center point.
    static member Polar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<PolarChart>(oneXYSeq data)
    /// A circular graph on which data points are displayed using
    /// the angle, and the distance from the center point.
    static member Polar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<PolarChart>(oneXY xvalues yvalues)
    /// A circular graph on which data points are displayed using
    /// the angle, and the distance from the center point.
    static member Polar<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<PolarChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// A circular graph on which data points are displayed using
    /// the angle, and the distance from the center point.
    static member Polar<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<PolarChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays data that, when combined, equals 100%.
    static member Pyramid<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<PyramidChart>(oneY data)
    /// Displays data that, when combined, equals 100%.
    static member Pyramid<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<PyramidChart>(oneXYSeq data)
    /// Displays data that, when combined, equals 100%.
    static member Pyramid<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<PyramidChart>(oneXY xvalues yvalues)
    /// Displays data that, when combined, equals 100%.
    static member Pyramid<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<PyramidChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays data that, when combined, equals 100%.
    static member Pyramid<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<PyramidChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// A circular chart that is used primarily as a data
    /// comparison tool.
    static member Radar<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<RadarChart>(oneY data)
    /// A circular chart that is used primarily as a data
    /// comparison tool.
    static member Radar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<RadarChart>(oneXYSeq data)
    /// A circular chart that is used primarily as a data
    /// comparison tool.
    static member Radar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<RadarChart>(oneXY xvalues yvalues)
    /// A circular chart that is used primarily as a data
    /// comparison tool.
    static member Radar<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<RadarChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// A circular chart that is used primarily as a data
    /// comparison tool.
    static member Radar<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<RadarChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays a range of data by plottingÿtwoÿY values per data
    /// point, with each Y value being drawn as a line
    /// chart.
    static member Range<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data: seq<'TY1 * 'TY2>) = 
        GenericChart<_>.Create<RangeChart>(twoY data)
    /// Displays a range of data by plottingÿtwoÿY values per data
    /// point, with each Y value being drawn as a line
    /// chart.
    static member Range<'TX, 'TY1, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2)>) = 
        GenericChart<_>.Create<RangeChart>(twoXYSeq data)
    /// Displays a range of data by plottingÿtwoÿY values per data
    /// point, with each Y value being drawn as a line
    /// chart.
    static member Range<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values) = 
        GenericChart<_>.Create<RangeChart>(twoXY xvalues yvalues1 yvalues2)
    /// Displays a range of data by plottingÿtwoÿY values per data
    /// point, with each Y value being drawn as a line
    /// chart.
    static member Range<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:IObservable<'TY1 * 'TY2>, ?MaxPoints) = 
        GenericChart<_>.Create<RangeChart>(twoYObs (defaultArg MaxPoints -1) data)
    /// Displays a range of data by plottingÿtwoÿY values per data
    /// point, with each Y value being drawn as a line
    /// chart.
    static member Range<'TX, 'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2)>, ?MaxPoints) = 
        GenericChart<_>.Create<RangeChart>(twoXYObs (defaultArg MaxPoints -1) data)

    /// Displays separate events that have beginning and end values.
    static member RangeBar<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data: seq<'TY1 * 'TY2>) = 
        GenericChart<_>.Create<RangeBarChart>(twoY data)
    /// Displays separate events that have beginning and end values.
    static member RangeBar<'TX, 'TY1, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2)>) = 
        GenericChart<_>.Create<RangeBarChart>(twoXYSeq data)
    /// Displays separate events that have beginning and end values.
    static member RangeBar<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values) = 
        GenericChart<_>.Create<RangeBarChart>(twoXY xvalues yvalues1 yvalues2)
    /// Displays separate events that have beginning and end values.
    static member RangeBar<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:IObservable<'TY1 * 'TY2>, ?MaxPoints) = 
        GenericChart<_>.Create<RangeBarChart>(twoYObs (defaultArg MaxPoints -1) data)
    /// Displays separate events that have beginning and end values.
    static member RangeBar<'TX, 'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2)>, ?MaxPoints) = 
        GenericChart<_>.Create<RangeBarChart>(twoXYObs (defaultArg MaxPoints -1) data)

    /// Displays a range of data by plotting two Y values
    /// per data point.
    static member RangeColumn<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data: seq<'TY1 * 'TY2>) = 
        GenericChart<_>.Create<RangeColumnChart>(twoY data)
    /// Displays a range of data by plotting two Y values
    /// per data point.
    static member RangeColumn<'TX, 'TY1, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2)>) = 
        GenericChart<_>.Create<RangeColumnChart>(twoXYSeq data)
    /// Displays a range of data by plotting two Y values
    /// per data point.
    static member RangeColumn<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values) = 
        GenericChart<_>.Create<RangeColumnChart>(twoXY xvalues yvalues1 yvalues2)
    /// Displays a range of data by plotting two Y values
    /// per data point.
    static member RangeColumn<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:IObservable<'TY1 * 'TY2>, ?MaxPoints) = 
        GenericChart<_>.Create<RangeColumnChart>(twoYObs (defaultArg MaxPoints -1) data)
    /// Displays a range of data by plotting two Y values
    /// per data point.
    static member RangeColumn<'TX, 'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2)>, ?MaxPoints) = 
        GenericChart<_>.Create<RangeColumnChart>(twoXYObs (defaultArg MaxPoints -1) data)

    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Renko<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<RenkoChart>(oneY data)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Renko<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<RenkoChart>(oneXYSeq data)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Renko<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<RenkoChart>(oneXY xvalues yvalues)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Renko<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<RenkoChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays a series of connecting vertical lines where the thickness
    /// and direction of the lines are dependent on the action
    /// of the price value.
    static member Renko<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<RenkoChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// A Line chart that plots a fitted curve through each
    /// data point in a series.
    static member Spline<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<SplineChart>(oneY data)
    /// A Line chart that plots a fitted curve through each
    /// data point in a series.
    static member Spline<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<SplineChart>(oneXYSeq data)
    /// A Line chart that plots a fitted curve through each
    /// data point in a series.
    static member Spline<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<SplineChart>(oneXY xvalues yvalues)
    /// A Line chart that plots a fitted curve through each
    /// data point in a series.
    static member Spline<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<SplineChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// A Line chart that plots a fitted curve through each
    /// data point in a series.
    static member Spline<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<SplineChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// An Area chart that plots a fitted curve through each
    /// data point in a series.
    static member SplineArea<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<SplineAreaChart>(oneY data)
    /// An Area chart that plots a fitted curve through each
    /// data point in a series.
    static member SplineArea<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<SplineAreaChart>(oneXYSeq data)
    /// An Area chart that plots a fitted curve through each
    /// data point in a series.
    static member SplineArea<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<SplineAreaChart>(oneXY xvalues yvalues)
    /// An Area chart that plots a fitted curve through each
    /// data point in a series.
    static member SplineArea<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<SplineAreaChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// An Area chart that plots a fitted curve through each
    /// data point in a series.
    static member SplineArea<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<SplineAreaChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays a range of data by plotting twoÿY values per
    /// data point, with each Y value drawn as a line
    /// chart.
    static member SplineRange<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data: seq<'TY1 * 'TY2>) = 
        GenericChart<_>.Create<SplineRangeChart>(twoY data)
    /// Displays a range of data by plotting twoÿY values per
    /// data point, with each Y value drawn as a line
    /// chart.
    static member SplineRange<'TX, 'TY1, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2)>) = 
        GenericChart<_>.Create<SplineRangeChart>(twoXYSeq data)
    /// Displays a range of data by plotting twoÿY values per
    /// data point, with each Y value drawn as a line
    /// chart.
    static member SplineRange<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values) = 
        GenericChart<_>.Create<SplineRangeChart>(twoXY xvalues yvalues1 yvalues2)
    /// Displays a range of data by plotting twoÿY values per
    /// data point, with each Y value drawn as a line
    /// chart.
    static member SplineRange<'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible>(data:IObservable<'TY1 * 'TY2>, ?MaxPoints) = 
        GenericChart<_>.Create<SplineRangeChart>(twoYObs (defaultArg MaxPoints -1) data)
    /// Displays a range of data by plotting twoÿY values per
    /// data point, with each Y value drawn as a line
    /// chart.
    static member SplineRange<'TX, 'TY1, 'TY2 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2)>, ?MaxPoints) = 
        GenericChart<_>.Create<SplineRangeChart>(twoXYObs (defaultArg MaxPoints -1) data)

    /// An Area chart that stacks two or more data series
    /// on top of one another.
    static member StackedArea<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StackedAreaChart>(oneY data)
    /// An Area chart that stacks two or more data series
    /// on top of one another.
    static member StackedArea<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StackedAreaChart>(oneXYSeq data)
    /// An Area chart that stacks two or more data series
    /// on top of one another.
    static member StackedArea<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StackedAreaChart>(oneXY xvalues yvalues)
    /// An Area chart that stacks two or more data series
    /// on top of one another.
    static member StackedArea<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedAreaChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// An Area chart that stacks two or more data series
    /// on top of one another.
    static member StackedArea<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedAreaChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StackedBarChart>(oneY data)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StackedBarChart>(oneXYSeq data)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StackedBarChart>(oneXY xvalues yvalues)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedBarChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedBarChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Used to compare the contribution of each value to a
    /// total across categories.
    static member StackedColumn<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StackedColumnChart>(oneY data)
    /// Used to compare the contribution of each value to a
    /// total across categories.
    static member StackedColumn<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StackedColumnChart>(oneXYSeq data)
    /// Used to compare the contribution of each value to a
    /// total across categories.
    static member StackedColumn<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StackedColumnChart>(oneXY xvalues yvalues)
    /// Used to compare the contribution of each value to a
    /// total across categories.
    static member StackedColumn<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedColumnChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Used to compare the contribution of each value to a
    /// total across categories.
    static member StackedColumn<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StackedColumnChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Similar to the Line chart type, but uses vertical and
    /// horizontal lines to connect the data points in a series
    /// forming a step-like progression.
    static member StepLine<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<StepLineChart>(oneY data)
    /// Similar to the Line chart type, but uses vertical and
    /// horizontal lines to connect the data points in a series
    /// forming a step-like progression.
    static member StepLine<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<StepLineChart>(oneXYSeq data)
    /// Similar to the Line chart type, but uses vertical and
    /// horizontal lines to connect the data points in a series
    /// forming a step-like progression.
    static member StepLine<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<StepLineChart>(oneXY xvalues yvalues)
    /// Similar to the Line chart type, but uses vertical and
    /// horizontal lines to connect the data points in a series
    /// forming a step-like progression.
    static member StepLine<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<StepLineChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Similar to the Line chart type, but uses vertical and
    /// horizontal lines to connect the data points in a series
    /// forming a step-like progression.
    static member StepLine<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<StepLineChart>(oneXYObs (defaultArg MaxPoints -1) data)

    /// Displays significant stock price points including the open, close, high,
    /// and low price points.
    static member Stock<'TY1, 'TY2, 'TY3, 'TY4 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible>(data: seq<'TY1 * 'TY2 * 'TY3 * 'TY4>) = 
        GenericChart<_>.Create<StockChart>(fourY data)
    /// Displays significant stock price points including the open, close, high,
    /// and low price points.
    static member Stock<'TX, 'TY1, 'TY2, 'TY3, 'TY4 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible>(data:seq<'TX * ('TY1 * 'TY2 * 'TY3 * 'TY4)>) = 
        GenericChart<_>.Create<StockChart>(fourXYSeq data)
    /// Displays significant stock price points including the open, close, high,
    /// and low price points.
    static member Stock<'TX, 'TY1Values, 'TY1, 'TY2Values, 'TY2, 'TY3Values, 'TY3, 'TY4Values, 'TY4 when 'TX :> IConvertible and 'TY1 :> IConvertible and 'TY1Values :> seq<'TY1> and 'TY2 :> IConvertible and 'TY2Values :> seq<'TY2> and 'TY3 :> IConvertible and 'TY3Values :> seq<'TY3> and 'TY4 :> IConvertible and 'TY4Values :> seq<'TY4>>(xvalues:seq<'TX>, yvalues1:'TY1Values, yvalues2:'TY2Values, yvalues3:'TY3Values, yvalues4:'TY4Values) = 
        GenericChart<_>.Create<StockChart>(fourXY xvalues yvalues1 yvalues2 yvalues3 yvalues4)
    /// Displays significant stock price points including the open, close, high,
    /// and low price points.
    static member Stock<'TY1, 'TY2, 'TY3, 'TY4 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible>(data:IObservable<'TY1 * 'TY2 * 'TY3 * 'TY4>, ?MaxPoints) = 
        GenericChart<_>.Create<StockChart>(fourYObs (defaultArg MaxPoints -1) data)
    /// Displays significant stock price points including the open, close, high,
    /// and low price points.
    static member Stock<'TX, 'TY1, 'TY2, 'TY3, 'TY4 when 'TY1 :> IConvertible and 'TY2 :> IConvertible and 'TY3 :> IConvertible and 'TY4 :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY1 * 'TY2 * 'TY3 * 'TY4)>, ?MaxPoints) = 
        GenericChart<_>.Create<StockChart>(fourXYObs (defaultArg MaxPoints -1) data)

    /// Displays a series of vertical boxes, or lines, that reflect
    /// changes in price values.
    static member ThreeLineBreak<'TY when 'TY :> IConvertible>(data: seq<'TY>) = 
        GenericChart<_>.Create<ThreeLineBreakChart>(oneY data)
    /// Displays a series of vertical boxes, or lines, that reflect
    /// changes in price values.
    static member ThreeLineBreak<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data:seq<'TX * ('TY)>) = 
        GenericChart<_>.Create<ThreeLineBreakChart>(oneXYSeq data)
    /// Displays a series of vertical boxes, or lines, that reflect
    /// changes in price values.
    static member ThreeLineBreak<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(xvalues:seq<'TX>, yvalues: seq<'TY>) = 
        GenericChart<_>.Create<ThreeLineBreakChart>(oneXY xvalues yvalues)
    /// Displays a series of vertical boxes, or lines, that reflect
    /// changes in price values.
    static member ThreeLineBreak<'TY when 'TY :> IConvertible>(data:IObservable<'TY>, ?MaxPoints) = 
        GenericChart<_>.Create<ThreeLineBreakChart>(oneYObs (defaultArg MaxPoints -1) data)
    /// Displays a series of vertical boxes, or lines, that reflect
    /// changes in price values.
    static member ThreeLineBreak<'TX, 'TY when 'TY :> IConvertible and 'TX :> IConvertible>(data:IObservable<'TX * ('TY)>, ?MaxPoints) = 
        GenericChart<_>.Create<ThreeLineBreakChart>(oneXYObs (defaultArg MaxPoints -1) data)


// [/AUTOGENERATED]

// --------------------------------------------------------------------------------------
// Inclusions for multiple series for Stacked charts
// --------------------------------------------------------------------------------------

    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TY when 'TY :> IConvertible>(data: list<list<'TY>>) = 
        GenericChart<_>.Create<StackedBarChart>(seqY data)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data: list<list<'TX * 'TY>>) = 
        GenericChart<_>.Create<StackedBarChart>(seqXY data)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar100<'TY when 'TY :> IConvertible>(data: list<list<'TY>>) = 
        GenericChart<_>.Create<StackedBar100Chart>(seqY data)
    /// Displays series of the same chart type as stacked bars.
    static member StackedBar100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data: list<list<'TX * 'TY>>) = 
        GenericChart<_>.Create<StackedBar100Chart>(seqXY data)

    /// Displays series of the same chart type as stacked columns.
    static member StackedColumn<'TY when 'TY :> IConvertible>(data: list<list<'TY>>) = 
        GenericChart<_>.Create<StackedColumnChart>(seqY data)
    /// Displays series of the same chart type as stacked columns.
    static member StackedColumn<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data: list<list<'TX * 'TY>>) = 
        GenericChart<_>.Create<StackedColumnChart>(seqXY data)
    /// Displays series of the same chart type as stacked columns.
    static member StackedColumn100<'TY when 'TY :> IConvertible>(data: list<list<'TY>>) = 
        GenericChart<_>.Create<StackedColumn100Chart>(seqY data)
    /// Displays series of the same chart type as stacked columns.
    static member StackedColumn100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data: list<list<'TX * 'TY>>) = 
        GenericChart<_>.Create<StackedColumn100Chart>(seqXY data)

    /// Displays series of the same chart type as stacked areas.
    static member StackedArea<'TY when 'TY :> IConvertible>(data: list<list<'TY>>) = 
        GenericChart<_>.Create<StackedAreaChart>(seqY data)
    /// Displays series of the same chart type as stacked areas.
    static member StackedArea<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data: list<list<'TX * 'TY>>) = 
        GenericChart<_>.Create<StackedAreaChart>(seqXY data)
    /// Displays series of the same chart type as stacked areas.
    static member StackedArea100<'TY when 'TY :> IConvertible>(data: list<list<'TY>>) = 
        GenericChart<_>.Create<StackedArea100Chart>(seqY data)
    /// Displays series of the same chart type as stacked areas.
    static member StackedArea100<'TX, 'TY when 'TX :> IConvertible and 'TY :> IConvertible>(data: list<list<'TX * 'TY>>) = 
        GenericChart<_>.Create<StackedArea100Chart>(seqXY data)

// --------------------------------------------------------------------------------------
// Inclusion for Rows, Columns and Combine charts
// --------------------------------------------------------------------------------------

    static member Rows charts = 
      SubplotChart(charts, Orientation.Vertical)

    static member Columns charts = 
      SubplotChart(charts, Orientation.Horizontal)

    static member Combine charts = 
      CombinedChart charts
